package com.christina.service.domain.chat.model;

import lombok.Data;
import lombok.Builder;
import java.time.LocalDateTime;
import java.util.Map;

/**
 * 聊天请求模型
 * 
 * @author Christina
 */
@Data
@Builder
public class ChatRequest {
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 会话ID
     */
    private String sessionId;
    
    /**
     * 消息内容
     */
    private String message;
    
    /**
     * 消息类型
     */
    private MessageType messageType;
    
    /**
     * 上下文信息
     */
    private Map<String, Object> context;
    
    /**
     * 请求时间
     */
    private LocalDateTime requestTime;
    
    /**
     * 消息类型
     */
    public enum MessageType {
        TEXT("文本消息"),
        VOICE("语音消息"),
        IMAGE("图片消息"),
        FILE("文件消息");
        
        private final String description;
        
        MessageType(String description) {
            this.description = description;
        }
        
        public String getDescription() {
            return description;
        }
    }
}